Po Lu [Mon, 3 Jul 2023 06:30:12 +0000 (14:30 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 3 Jul 2023 03:45:04 +0000 (11:45 +0800)]
Fix leak when quit arrives during incremental selection transfer
* src/xselect.c (x_free_selection_data): New function.
(x_get_window_property_as_lisp_data): Free `data' reliably
if receive_incremental_selection quits.
Po Lu [Mon, 3 Jul 2023 00:56:21 +0000 (08:56 +0800)]
Provide move-toolbar in a more appropriate place
* src/frame.c (syms_of_frame): Provide `move-toolbar' here...
* src/keyboard.c (syms_of_keyboard): ..instead of here.
Po Lu [Mon, 3 Jul 2023 00:42:39 +0000 (08:42 +0800)]
; * src/keyboard.c (syms_of_keyboard): Fix typo.
Po Lu [Mon, 3 Jul 2023 00:42:24 +0000 (08:42 +0800)]
Always provide `move-toolbar' when its position can be changed
* src/keyboard.c (syms_of_keyboard): Make `move-toolbar' a
defsym. Provide that feature if Emacs uses its internal tool
bars or GTK+.
* src/xfns.c (syms_of_xfns): Stop provide `move-toolbar' here.
Po Lu [Mon, 3 Jul 2023 00:05:55 +0000 (08:05 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Andreas Schwab [Mon, 12 Jun 2023 12:40:24 +0000 (14:40 +0200)]
sh-script: improve fontification of RPM spec files
Fontifiy only macros at line beginning as keywords, otherwise as
variables. Add more accurate match for macros.
* lisp/progmodes/sh-script.el (sh-font-lock-keywords-var): Add
more accurate patterns for rpm macros. Also fontify parenthesized
word after keyword.
Mark A. Hershberger [Sun, 2 Jul 2023 19:15:17 +0000 (15:15 -0400)]
Fix a minor typo
* lisp/xml.el: Correct a minor typo found by flandrew.
Harald Jörg [Sun, 2 Jul 2023 11:00:21 +0000 (13:00 +0200)]
; cperl-mode: Fix a wide docstring which causes warnings when compiling
* lisp/progmodes/cperl-mode.el (defconst): Fix wide docstring for '
cperl--sloppy-signature-rx' (thanks Mattias Engdegård for reviewing)
João Távora [Sun, 2 Jul 2023 10:57:15 +0000 (11:57 +0100)]
Eglot: another tweak to eglot--sig-info
Going to the start of the first param and skipping non-word syntax
backward would seem to be the right thing to do, for traditional
C-style languages and also languages like Ocaml where function
signatures don't start the param list with '('.
See also https://github.com/joaotavora/eglot/discussions/1251.
* lisp/progmodes/eglot.el (eglot--sig-info): Rework again.
Mattias Engdegård [Sun, 2 Jul 2023 09:44:29 +0000 (11:44 +0200)]
Warn about misplaced :success in condition-case (bug#64404)
* lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
Warn if :success is part of a list of conditions (it must come alone).
Stephen Berman [Sun, 2 Jul 2023 09:49:08 +0000 (11:49 +0200)]
Fix todo-mode commands to move items and categories (bug#64298)
* lisp/calendar/todo-mode.el (todo-move-category): Restore display
of selected category in source file, so internal file structure is
not visible if user is prompted to choose a new category name in
target file, and widen again to delete moved category from source
file.
(todo-move-item): Don't use todo-forward-item when moving done
items, to avoid mislocation if done items sections of the the
target category was empty before moving.
(todo-forward-item): Remove commented out code meant to have the
effect of the above change in todo-move-item, but it did not work.
Eli Zaretskii [Sun, 2 Jul 2023 08:10:59 +0000 (11:10 +0300)]
Fix display of wide characters on TTY frame's mode line
* src/xdisp.c (pad_mode_line): New function.
(display_string): Use it instead of 'produce_special_glyphs' to
replace a character that's too wide to fit on the mode/header/tab
line, but which occupies some columns that do fit. (Bug#64395)
Po Lu [Sun, 2 Jul 2023 00:26:54 +0000 (08:26 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Harald Jörg [Sat, 1 Jul 2023 22:35:31 +0000 (00:35 +0200)]
; cperl-mode.el: Fix two indentation bugs (Bug#11733)
* lisp/progmodes/cperl-mode.el (cperl-sniff-for-indent): Detect
whether we have a label or a regex/string.
(cperl-calculate-indent): Check for things which look like labels
but aren't.
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-11733):
Test the examples provided in the bug report.
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-11733.pl:
Examples from the bug report.
João Távora [Sat, 1 Jul 2023 21:49:24 +0000 (22:49 +0100)]
Eglot: fix broken indentation of eglot--sig-info
* lisp/progmodes/eglot.el (eglot--sig-info): Fix.
João Távora [Sat, 1 Jul 2023 21:48:07 +0000 (22:48 +0100)]
Eglot: bail out of eglot-imenu if no server capability (bug#64274)
* lisp/progmodes/eglot.el (eglot-imenu): Bail out if no
capability.
João Távora [Sat, 1 Jul 2023 21:46:43 +0000 (22:46 +0100)]
Eglot: improve heuristic to highlight function names in signatures
* lisp/progmodes/eglot.el (eglot--sig-info): Rework.
See https://github.com/joaotavora/eglot/discussions/1251.
Harald Jörg [Sat, 1 Jul 2023 19:37:29 +0000 (21:37 +0200)]
cperl-mode.el: Support Perl 5.38 syntax for subroutine signatures
* lisp/progmodes/cperl-mode.el (defconst): New rx sequence
describing a signature with initialization.
(cperl-init-faces): integrate the new rx sequence into the
font-lock-defaults init routine (Bug#64190) (Bug#64364).
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl: Add
test data for a signature with initialization (tests indentation).
* test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl: Add
test data for a signature with initialization (tests fontification).
Jim Porter [Sat, 13 May 2023 03:03:48 +0000 (20:03 -0700)]
Document optional Eshell modules
* lisp/eshell/em-rebind.el (eshell-rebind): Correct/reword docstring.
* doc/misc/eshell.texi (Built-ins): Move disabled-by-default commands
to...
(Tramp extensions, Extra built-in commands): ...here
(Optional modules, Key rebinding, Smart scrolling): Add documentation.
(Bug and ideas): Documentation is no longer incomplete!
Jim Porter [Sat, 13 May 2023 03:11:01 +0000 (20:11 -0700)]
Correct the Eshell documentation about how to write new modules
* doc/misc/eshell.texi (Writing a module): Fix the documentation.
'eshell-defgroup' doesn't exist anymore.
Jim Porter [Mon, 30 Jan 2023 03:59:56 +0000 (19:59 -0800)]
Restructure Eshell extension modules documentation
This adds a section for documenting all the optional modules.
* doc/misc/eshell.texi (Extension modules): Move explanation about
writing modules to...
(Writing a module): ... here.
(Module testing): Remove. Testing an Eshell module doesn't require
any special documentation.
(Key binding, Smart scrolling, Electric forward slash): Move under...
(Optional modules): ... here.
(Directory handling, Terminal emulation): Remove. These modules are
enabled by default, and so are documented above.
(Tramp extensions, Extra built-in commands): New sections.
Jim Porter [Mon, 30 Jan 2023 02:29:02 +0000 (18:29 -0800)]
; * doc/misc/eshell.texi (Bugs and ideas): Remove implemented feature.
F. Jason Park [Fri, 9 Jun 2023 06:49:23 +0000 (23:49 -0700)]
Redo erc-nickname-in-use-functions as a local module
* etc/ERC-NEWS: Mention new module `services-regain'.
* lisp/erc/erc-backend.el: Rename option.
* lisp/erc/erc-services.el (erc-services-regain-alist): Strategies for
regaining a lost nickname on reconnect. This option, in addition to
the rest of these changes, is a redo of
`erc-nickname-in-use-functions' from commit
8c0c9826 "Add hook to
regain nickname in ERC", which originally stemmed from bug#62044.
(erc-services-retry-nick-on-connect, erc-services-issue-regain,
erc-services-issue-ghost-and-retry-nick): New function variants for
`erc-services-regain-alist.
(erc-services-regain-mode, erc-services-regain-enable,
erc-services-regain-disable): New local module to activate
nick-regaining behavior.
(erc--nickname-in-use-make-request): New method, a services-specific
implementation.
* lisp/erc/erc.el (erc--nickname-in-use-make-request): New generic
function to request alternate nick when first choice is rejected.
(erc-nickname-in-use): Call `erc--nickname-in-use-make-request' to
request alternate nick.
* test/lisp/erc/erc-scenarios-services-misc.el
(erc-scenarios-services-misc--reconnect-retry-nick): Adopt renamed
version of `erc-scenarios-base-renick-auto-regain'.
(erc-scenarios-services-misc--regain-command,
erc-scenarios-services-misc--ghost-and-retry-nick): New tests.
* test/lisp/erc/resources/services/regain/reconnect-retry-again.eld:
New test data file reusing existing blob
c0529052 that once lived at
resources/base/renick/regain/normal-again.eld.
* test/lisp/erc/resources/services/regain/reconnect-retry.eld: New
test data file reusing existing blob
9f4df70e5 that once lived at
resources/base/renick/regain/normal.eld.
* test/lisp/erc/resources/services/regain/taken-ghost.eld: New test
data file.
* test/lisp/erc/resources/services/regain/taken-regain.eld New test
data file.
F. Jason Park [Wed, 28 Jun 2023 03:47:26 +0000 (20:47 -0700)]
Account for leading timestamps in erc-match
* lisp/erc/erc-match.el (erc-text-matched-hook): Mention that stamps
may be present in the narrowed buffer but absent from the message
parameter.
(erc-match--message): New function containing what was the body of
`erc-match-message' as if the latter were simply renamed.
(erc-match-message): Move body to `erc-match--message' and call it
with more aggressive narrowing. This fixes a regression stemming from
d880a08f "Cement ordering of essential hook members in ERC". Special
thanks to Libera.Chat user jrm for reporting this bug. (Bug#60936)
* test/lisp/erc/erc-scenarios-match.el: New test file.
Harald Jörg [Sat, 1 Jul 2023 13:25:33 +0000 (15:25 +0200)]
cperl-mode: Fix byte-compilation warnings
* lisp/progmodes/cperl-mode.el (defconst): Reformat docstring to
fit into 80 columns.
(cperl-find-sub-attrs): Mark lexical parameters as unused.
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-attrs-and-signatures): Fix use of
`match-beginning'
(perl-indent-parens-as-block): Define as a variable.
Mattias Engdegård [Fri, 30 Jun 2023 16:34:10 +0000 (18:34 +0200)]
Add duplicate-region-final-position (bug#64185)
* lisp/misc.el (duplicate-region-final-position): New defcustom.
(duplicate-dwim): Use it.
* lisp/rect.el (rectangle--duplicate-right): Add displacement
argument.
* test/lisp/misc-tests.el (misc--duplicate-dwim): Extend test.
Eli Zaretskii [Sat, 1 Jul 2023 10:30:00 +0000 (06:30 -0400)]
Merge from origin/emacs-29
edd36786e1e ; * lisp/bookmark.el (bookmark-bmenu-locate): Doc fix (bu...
16eac20a5db ; Fix last change
ab8d0f7b768 Add project command entries to the menu-bar
fc6099bf046 ; Improve documentation of text-property-search-* functions
cc660bd2651 ; * etc/PROBLEMS: Mention MinGW problems with -D_FORTIFY_...
a5bd9fb8c4a ; Improve doc strings in register.el
0be18d80978 ; Fix @xref in last change to doc/emacs/regs.texi.
624c779517d ; Fix tree-sitter C binding typos in Elisp manual.
16e9bdff4f4 Improve documentation of registers
Eli Zaretskii [Sat, 1 Jul 2023 10:30:00 +0000 (06:30 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
884b668b981 Use a temporary buffer in nnagent-request-set-mark (bug#6...
Eli Zaretskii [Sat, 1 Jul 2023 10:29:52 +0000 (06:29 -0400)]
Merge from origin/emacs-29
a722e7dd152 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
65f146cf1c2 ; * lisp/calculator.el (calculator-need-3-lines): Fix las...
9e8386bdacc Support cons cell as value of ':line-width' box attribute
1d2ba6b363b ; * admin/notes/tree-sitter/treesit_record_change: Update.
02b6be892fa Add missing calls to treesit_record_change in editfns.c
e982192e933 Call treesit_record_change in subst-char-in-region (bug#6...
ddbb11f5657 ; * lisp/misc.el (duplicate-line-final-position): Fix las...
cecbe92d5d9 ; * lisp/misc.el (duplicate-line-final-position): doc pre...
042f0d6a14c ; Fix documentation of ':box' face attribute
# Conflicts:
# etc/NEWS
Eli Zaretskii [Sat, 1 Jul 2023 10:29:44 +0000 (06:29 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
d5cff340b3b * lisp/misc.el (duplicate-line-final-position): New defcu...
Eli Zaretskii [Sat, 1 Jul 2023 10:29:43 +0000 (06:29 -0400)]
Merge from origin/emacs-29
ef16339918e Make js-beginning-of-defun return non-nil on success
2c90ade09a4 Tree-sitter use with-silent-modifications like jit-lock (...
11cead0d73c Fix todo-mode.el Commentary and a doc string (bug#64298)
6ae83322d4c Prevent truncation of todo-mode categories sexp
ee41f07be52 Avoid making todo-mode buffers manually editable
53332bdf625 ; * doc/lispref/variables.texi: Fix define-obsolete-varia...
162c9c058eb ; Document that 'named-let' needs lexical-binding
68028f0fa31 ; * etc/PROBLEMS: Fix typo.
Eli Zaretskii [Sat, 1 Jul 2023 10:29:43 +0000 (06:29 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
ac0a82ea987 Fix Tramp mount-spec (don't merge)
Eli Zaretskii [Sat, 1 Jul 2023 10:29:43 +0000 (06:29 -0400)]
Merge from origin/emacs-29
4df510c7a70 Fix VC package build when doc file isn't in a subdir
382f5fa8130 ; * doc/emacs/package.texi (Fetching Package Sources): Fi...
fc7e7c3fde3 Fix type check in tramp-get-buffer-string
2aa57fe6cf9 ; Fix typo in maintaining.texi (bug#64279)
Eli Zaretskii [Sat, 1 Jul 2023 10:29:43 +0000 (06:29 -0400)]
; Merge from origin/emacs-29
The following commits were skipped:
1d9200d9bbb ; * doc/lispintro/emacs-lisp-intro.texi (car & cdr): Fix ...
987b25d60dd Clarify list terminology
Eli Zaretskii [Sat, 1 Jul 2023 09:46:37 +0000 (12:46 +0300)]
; * lisp/bookmark.el (bookmark-bmenu-locate): Doc fix (bug#64370).
Eli Zaretskii [Sat, 1 Jul 2023 09:43:33 +0000 (12:43 +0300)]
; Fix last change
* lisp/menu-bar.el (menu-bar-file-menu, menu-bar-search-menu)
(menu-bar-replace-menu, menu-bar-project-menu)
(menu-bar-buffers-menu-command-entries): Fix help-echo text (bug#63469).
Spencer Baugh [Mon, 15 May 2023 18:01:32 +0000 (14:01 -0400)]
Add project command entries to the menu-bar
This will make it easier for new users to learn these increasingly
important and useful commands. (Bug#63469)
* lisp/menu-bar.el (menu-bar-file-menu): Add project-dired and
project-find-file entries.
(menu-bar-search-menu): Add project-find-regexp entry.
(menu-bar-replace-menu): Add project-query-replace regexp entry.
(menu-bar-shell-commands-menu): Add project-shell entry.
(menu-bar-buffers-menu-command-entries): Add project-switch-to-buffer
and project-list-buffer entries.
(menu-bar-project-menu): Add.
(menu-bar-tools-menu): Add "Project" submenu, and also project-compile
entry and change text for compile entry.
Eli Zaretskii [Sat, 1 Jul 2023 09:28:33 +0000 (12:28 +0300)]
; Improve documentation of text-property-search-* functions
* doc/lispref/text.texi (Property Search): Improve wording and markup.
* lisp/emacs-lisp/text-property-search.el (text-property-search-forward)
(text-property-search-backward): Doc fixes. (Bug#64367)
Eli Zaretskii [Sat, 1 Jul 2023 08:34:43 +0000 (11:34 +0300)]
Fix total count of messages in Rmail summary buffers
* lisp/mail/rmailsum.el (rmail-new-summary-1): Actually count the
messages in the summary buffer instead of relying on
'rmail-total-messages'. Reported by Andrea Monaco
<andrea.monaco@autistici.org>.
Davide Masserut [Tue, 20 Jun 2023 13:55:11 +0000 (15:55 +0200)]
Recognize PKGBUILD as bash style
* lisp/progmodes/sh-script.el (sh--guess-shell): Handle PKGBUILD.
(Bug#64251)
Michael Albinus [Sat, 1 Jul 2023 08:19:37 +0000 (10:19 +0200)]
Improve Tramp for remote WebDAV
* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
Improve stability for WebDAV.
Eli Zaretskii [Sat, 1 Jul 2023 07:01:59 +0000 (10:01 +0300)]
; * etc/PROBLEMS: Mention MinGW problems with -D_FORTIFY_SOURCE=2.
Po Lu [Sat, 1 Jul 2023 00:33:13 +0000 (08:33 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Harald Jörg [Fri, 30 Jun 2023 21:55:53 +0000 (23:55 +0200)]
cperl-mode: Add recent features to etc/NEWS
I mishandled git and killed my previous commit. Sorry for the noise.
* etc/NEWS: Add a section to Changes in Specialized Modes
Harald Jörg [Fri, 30 Jun 2023 21:58:31 +0000 (23:58 +0200)]
cperl-mode: Add recent features to etc/NEWS
* etc/NEWS: Add a section to Changes in Specialized Modes
Harald Jörg [Fri, 30 Jun 2023 21:55:53 +0000 (23:55 +0200)]
cperl-mode: Add recent features to etc/NEWS
* etc/NEWS: Add a section to Changes in Specialized Modes
Harald Jörg [Fri, 30 Jun 2023 21:48:59 +0000 (23:48 +0200)]
; cperl-mode-resources: More test cases for cperl-mode.el
* test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl:
Adapt to the signatures now available in cperl-mode.el
Harald Jörg [Fri, 30 Jun 2023 21:41:06 +0000 (23:41 +0200)]
cperl-mode.el: Support subroutine signatures
Since Perl 5.20, subroutine signatures were available as an
experimental feature. With Perl 5.38, they will be always enabled in
the new object system.
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-64190.pl:
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl: New
test resources.
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-attrs-and-signatures): Add tests for
signatures.
(cperl-test-attribute-rx, cperl-test-attribute-list-rx)
(cperl-test-prototype-rx, cperl-test-signature-rx): Tests for the
new rx sequences.
(cperl-test-bug-64190): New test for multiline declarations.
(cperl-test-bug-64364): New test for indentation of declarations.
* lisp/progmodes/cperl-mode.el:
(toplevel): New rx sequences to match Perl variables and attributes.
(cperl-declaration-header-p): New function to identify declarations.
(cperl-block-declaration-p): Use the new function.
(cperl-mode): Use the rx sequences.
(cperl-get-state): Use the new function.
(cperl-sniff-for-indent): Use the new function.
(cperl-find-sub-attrs): Improve fontification of subroutine
prototypes and attributes while typing when jit-lock-mode is
active. Detect signatures, and distinguish them from prototypes.
(cperl-find-pods-heres): Use the rx sequences to detect subroutines.
(cperl-init-faces): Use the rx sequences for fontification.
Eli Zaretskii [Fri, 30 Jun 2023 11:47:12 +0000 (14:47 +0300)]
; Improve doc strings in register.el
* lisp/register.el (register-preview-delay)
(register-describe-oneline, register-preview-default)
(register-preview-function, register-preview, point-to-register)
(window-configuration-to-register)
(frame-configuration-to-register, jump-to-register)
(register-val-jump-to, number-to-register, increment-register)
(view-register, list-registers, register-val-describe)
(insert-register, register-val-insert, copy-to-register)
(append-to-register, prepend-to-register)
(copy-rectangle-to-register): Doc fixes.
Basil L. Contovounesios [Fri, 30 Jun 2023 11:21:00 +0000 (12:21 +0100)]
; Fix @xref in last change to doc/emacs/regs.texi.
Basil L. Contovounesios [Fri, 30 Jun 2023 10:58:33 +0000 (11:58 +0100)]
; Fix tree-sitter C binding typos in Elisp manual.
Po Lu [Fri, 30 Jun 2023 08:20:02 +0000 (16:20 +0800)]
* src/android.c (android_query_tree): Correctly return children.
Eli Zaretskii [Fri, 30 Jun 2023 07:13:53 +0000 (10:13 +0300)]
Improve documentation of registers
* doc/lispref/text.texi (Registers): Document buffers in
registers. Mention "frameset" as another name for "frame
configuration".
* doc/emacs/regs.texi (Registers, Configuration Registers)
(File and Buffer Registers): Clarify and improve wording. Add
cross-references and indexing.
(Configuration Registers): Rename the section to a more accurate
name. (Bug#64354)
* lisp/register.el (jump-to-register, point-to-register)
(register-alist, frame-configuration-to-register): Doc fixes.
(Bug#64353)
Andrew G Cohen [Tue, 27 Jun 2023 07:40:46 +0000 (15:40 +0800)]
Use a temporary buffer in nnagent-request-set-mark (bug#64117)
Commit
cb12a84f2c519a48dd87453c925e3bc36d9944db inadvertently removed
the use of a temporary buffer in nnagent-request-set-mark. Bug and
fix reported by Jens Schmidt <jschmidt4gnu@vodafonemail.de>
* lisp/gnus/nnagent.el (nnagent-request-set-mark): Restore the use of
a temporary buffer that was inadvertently removed.
(cherry picked from commit
5075d752773c31d959272a7e2b73b1dc38ba184c)
Po Lu [Fri, 30 Jun 2023 00:36:53 +0000 (08:36 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Yuan Fu [Thu, 29 Jun 2023 18:27:37 +0000 (11:27 -0700)]
Use OUT-DIR in treesit-install-language-grammar (bug#64295)
* lisp/treesit.el (treesit-install-language-grammar): Use out-dir.
Eli Zaretskii [Thu, 29 Jun 2023 18:23:12 +0000 (21:23 +0300)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eli Zaretskii [Thu, 29 Jun 2023 18:21:28 +0000 (21:21 +0300)]
; * lisp/calculator.el (calculator-need-3-lines): Fix last change.
john muhl [Wed, 28 Jun 2023 17:58:27 +0000 (12:58 -0500)]
Support cons cell as value of ':line-width' box attribute
* lisp/calculator.el (calculator-need-3-lines): Support
values of a face's ':line-width' box attribute that are
cons cells. (Bug#64344)
Copyright-paperwork-exempt: yes
Yuan Fu [Thu, 29 Jun 2023 00:05:29 +0000 (17:05 -0700)]
; * admin/notes/tree-sitter/treesit_record_change: Update.
Yuan Fu [Thu, 29 Jun 2023 00:03:19 +0000 (17:03 -0700)]
Add missing calls to treesit_record_change in editfns.c
These should be all that are missing. See the next commit for detail.
* src/editfns.c (Ftranslate_region_internal):
(Ftranspose_regions): Call treesit_record_change.
Yuan Fu [Wed, 28 Jun 2023 21:16:52 +0000 (14:16 -0700)]
Call treesit_record_change in subst-char-in-region (bug#64329)
* src/editfns.c (Fsubst_char_in_region): Call treesit_record_change in
the else branch.
Eli Zaretskii [Thu, 29 Jun 2023 10:00:21 +0000 (13:00 +0300)]
; * lisp/misc.el (duplicate-line-final-position): Fix last doc change.
Repeat after me: "The first line of a doc string must be a single
complete sentence."
Mattias Engdegård [Thu, 29 Jun 2023 09:21:53 +0000 (11:21 +0200)]
; * lisp/misc.el (duplicate-line-final-position): doc precision
Andrew G Cohen [Tue, 27 Jun 2023 07:40:46 +0000 (15:40 +0800)]
Use a temporary buffer in nnagent-request-set-mark (bug#64117)
Commit
cb12a84f2c519a48dd87453c925e3bc36d9944db inadvertently removed
the use of a temporary buffer in nnagent-request-set-mark. Bug and
fix reported by Jens Schmidt <jschmidt4gnu@vodafonemail.de>
* lisp/gnus/nnagent.el (nnagent-request-set-mark): Restore the use of
a temporary buffer that was inadvertently removed.
Eli Zaretskii [Thu, 29 Jun 2023 07:47:26 +0000 (10:47 +0300)]
; Fix documentation of ':box' face attribute
* lisp/faces.el (set-face-attribute): Update the documentation of
WIDTH in the :box face attribute. (Bug#64344)
Juri Linkov [Thu, 29 Jun 2023 07:13:09 +0000 (10:13 +0300)]
* lisp/misc.el (duplicate-line-final-position): New defcustom (bug#64185).
* lisp/misc.el (duplicate-line): Use it.
* test/lisp/misc-tests.el (misc--duplicate-line): Add tests for
duplicate-line-final-position.
Juri Linkov [Thu, 29 Jun 2023 07:13:06 +0000 (10:13 +0300)]
* lisp/misc.el (duplicate-line-final-position): New defcustom (bug#64185).
* lisp/misc.el (duplicate-line): Use it.
* test/lisp/misc-tests.el (misc--duplicate-line): Add tests for
duplicate-line-final-position.
Don't merge to master.
Daniel Martín [Sun, 25 Jun 2023 20:17:14 +0000 (22:17 +0200)]
Make js-beginning-of-defun return non-nil on success
The docstring of 'beginning-of-defun-function' says that the
function shall return non-nil when it found the beginning
of a defun. This is specially important because the calling
code decides when to move point depending on the return value.
* lisp/progmodes/js.el (js-beginning-of-defun)
(js--beginning-of-defun-flat): Return non-nil when the beginning
of a defun is found. (Bug#64283)
* test/lisp/progmodes/js-tests.el (js-mode-end-of-defun): Add a unit
test.
Po Lu [Thu, 29 Jun 2023 00:28:41 +0000 (08:28 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Alan Mackenzie [Wed, 28 Jun 2023 18:29:39 +0000 (18:29 +0000)]
Fontify C, C++, Objective C identifiers containing $
Optionally, fontify them with font-lock-warning-face.
This fixes bug#64204.
* lisp/progmodes/cc-fonts.el (c-font-lock-ids-with-dollar):
New function.
(c-simple-decl-matchers, c-complex-decl-matchers): invoke
c-font-lock-ids-with-dollar for pertinent languages.
* lisp/progmodes/cc-langs.el (c-symbol-start): Add `$' to the
character list.
(c-dollar-in-ids): New lang const.
(c-symbol-key): For the Pike value, use the AWK value rather
than the C value as the basis, as the latter is no longer
suitable.
* lisp/progmodes/cc-vars.el (c-warn-ids-with-dollar): New
customizable option.
* doc/misc/cc-mode.texi ("Miscellaneous Font Locking"): Add a
section on the new optional fontification of identifiers with
'font-lock-warning-face'.
Michael Albinus [Wed, 28 Jun 2023 14:53:01 +0000 (16:53 +0200)]
Adapt Tramp's kubernetes integration
* doc/misc/tramp.texi (Inline methods): Shorten kubernetes entry.
(Kubernetes setup): New node.
(Top, Configuration): Add it to the menu.
* lisp/net/tramp-container.el (tramp-kubernetes--context-namespace):
Adapt dpcstring.
(tramp-kubernetes-connection-local-default-profile)
(tramp-kubernetes-connection-local-default-variables)
(tramp-flatpak-connection-local-default-profile)
(tramp-flatpak-connection-local-default-variables): Rename.
* lisp/net/tramp.el (tramp-expand-args): Use `tramp-compat-take'.
* test/lisp/net/tramp-tests.el (tramp-test34-connection-local-variables)
(tramp-test34-explicit-shell-file-name): Don't let-bind
`connection-local-profile-alist' and `connection-local-criteria-alist'.
Stefan Monnier [Wed, 28 Jun 2023 13:24:30 +0000 (09:24 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl--slet): Fix bug#64315
Mattias Engdegård [Wed, 28 Jun 2023 12:36:39 +0000 (14:36 +0200)]
Speed up duplicate-dwim and duplicate-line by another factor 10
* lisp/misc.el (duplicate--insert-copies): New.
(duplicate-line, duplicate-dwim): Call it.
Yuan Fu [Wed, 28 Jun 2023 03:58:34 +0000 (20:58 -0700)]
Tree-sitter use with-silent-modifications like jit-lock (bug#64321)
* lisp/treesit.el (treesit--font-lock-notifier): Use
with-silent-modifications when marking modified text to be fontified
by jit-lock. This is what jit-lock itself does.
Po Lu [Wed, 28 Jun 2023 00:29:27 +0000 (08:29 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Stefan Monnier [Tue, 27 Jun 2023 20:14:43 +0000 (16:14 -0400)]
Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs
Stefan Monnier [Tue, 27 Jun 2023 20:14:32 +0000 (16:14 -0400)]
cl-macs-tests.el (cl-&key-arguments): Fix regression
* lisp/emacs-lisp/bytecomp.el (byte-compile-form): Turn "cannot use
lexical var" errors into warnings.
Make the obey `with-suppressed-warnings`.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-&key-arguments):
Suppress warnings.
Alan Mackenzie [Tue, 27 Jun 2023 20:11:48 +0000 (20:11 +0000)]
Amend the handling of c-laomib-cache.
There was unstable syntactic analysis of lines which were brace
lists. This fixes bug#64133.
* lisp/progmodes/cc-engine.el (c-laomib-cache): Allow several
entries with the same LIM element corresponding to distinct
scanning regions.
(c-laomib-get-cache): Add new parameter START. Adjust to be
able to have entries with the same LIM element and handle them
correctly.
(c-laomib-put-cache): Amend the handling of cache entries with
the same LIM element.
(c-looking-at-or-maybe-in-bracelist): Supply the needed new
argument to c-laomib-get-cache. Add in a new call to
c-laomib-put-cache.
Stephen Berman [Tue, 27 Jun 2023 15:50:18 +0000 (17:50 +0200)]
Fix todo-mode.el Commentary and a doc string (bug#64298)
* lisp/calendar/todo-mode.el: Explicitly note in the Commentary
that the Todo mode user manual is a separate Info manual in the
Emacs installation.
(todo-always-add-time-string): Replace doc string, which was
mistakenly retained in the initial merge of this version of
todo-mode.el, by a correct description of this user option.
Stephen Berman [Tue, 27 Jun 2023 15:38:20 +0000 (17:38 +0200)]
Prevent truncation of todo-mode categories sexp
* lisp/calendar/todo-mode.el (todo-delete-file)
(todo-move-category, todo-convert-legacy-files)
(todo-update-categories-sexp, todo-check-format):
Bind print-length and print-level to nil before using prin1
and related functions, to avoid truncating the todo categories
sexp and possibly corrupting the file format.
Stephen Berman [Tue, 27 Jun 2023 15:27:42 +0000 (17:27 +0200)]
Avoid making todo-mode buffers manually editable
* lisp/calendar/todo-mode.el (todo-add-category)
(todo-move-category, todo-edit-item--header)
(todo-set-item-priority, todo-move-item, todo-item-undone)
(todo-archive-done-item, todo-set-category-number): Restrict the
scope of nil buffer-read-only to the function calls that change
buffer text, thereby preventing todo mode buffers from becoming
manually editable and hence possibly corrupted when the minibuffer
is in use.
Mattias Engdegård [Tue, 27 Jun 2023 15:00:11 +0000 (17:00 +0200)]
Speed up duplicate-line by a factor of 2
* lisp/misc.el (duplicate-line): Add the newline to the string to be
inserted instead of inserting it separately.
This makes duplicate-line as fast as duplicate-dwim with a contiguous
region. Both could easily be made faster yet by making the code more
complex.
Po Lu [Tue, 27 Jun 2023 12:31:27 +0000 (20:31 +0800)]
; * doc/emacs/android.texi (Android Environment): Improve wording.
Po Lu [Tue, 27 Jun 2023 12:25:35 +0000 (20:25 +0800)]
; * doc/emacs/android.texi (Android Environment): Fix typos.
Vladimir Sedach [Tue, 27 Jun 2023 04:50:59 +0000 (22:50 -0600)]
; * doc/lispref/variables.texi: Fix define-obsolete-variable-alias arglist
The WHEN argument is not optional anymore (bug#64312)
Copyright-paperwork-exempt: yes
Michael Albinus [Tue, 27 Jun 2023 10:46:49 +0000 (12:46 +0200)]
Fix dired-insert-directory wrt remote directories
* lisp/dired.el (dired-insert-directory): Respect remote
directories consequently.
Po Lu [Tue, 27 Jun 2023 07:33:05 +0000 (15:33 +0800)]
Update Android port
* src/android.c (android_exception_check)
(android_exception_check_1)
(android_exception_check_2)
(android_exception_check_nonnull)
(android_exception_check_nonnull_1): Tell the compiler to expect
that the object is non-NULL, or that no exception has been
thrown.
Po Lu [Tue, 27 Jun 2023 01:53:04 +0000 (09:53 +0800)]
; * exec/loader-mips64el.s (rest_of_exec): Fix typo in comment.
Po Lu [Tue, 27 Jun 2023 00:43:07 +0000 (08:43 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android
Eli Zaretskii [Mon, 26 Jun 2023 15:41:06 +0000 (18:41 +0300)]
; Document that 'named-let' needs lexical-binding
* doc/lispref/variables.texi (Local Variables): Warn that
'named-let' only works under lexical-binding. (Bug#64290)
Stefan Monnier [Mon, 26 Jun 2023 15:25:14 +0000 (11:25 -0400)]
startup.el: Don't override init.el custom of `debug-ignored-errors`
* lisp/startup.el (startup--load-user-init-file): Undo commit
4302bc9b0f12.
Mimic the code we use for `debug-on-error` instead.
Michael Albinus [Mon, 26 Jun 2023 13:48:48 +0000 (15:48 +0200)]
Fix Tramp mount-spec
* lisp/net/tramp-fuse.el (tramp-fuse-mounted-p): The mount-spec
could contain an optional trailing slash. (Bug#64278)
* lisp/net/tramp-rclone.el (tramp-rclone-handle-file-system-info):
Check return code of command.
Robert Pluim [Mon, 26 Jun 2023 13:26:32 +0000 (15:26 +0200)]
; * etc/PROBLEMS: Fix typo.
Alan Mackenzie [Mon, 26 Jun 2023 13:25:45 +0000 (13:25 +0000)]
CC Mode: Fix parenthesis bug in XEmacs part of macro
* lisp/progmodes/cc-defs.el (c-looking-at-non-alphnumspace):
Correct confused parentheses.
Michael Albinus [Mon, 26 Jun 2023 10:41:04 +0000 (12:41 +0200)]
Fix Tramp mount-spec (don't merge)
* lisp/net/tramp-fuse.el (tramp-fuse-mounted-p): The mount-spec
could contain an optional trailing slash. (Bug#64278)
Po Lu [Mon, 26 Jun 2023 01:19:07 +0000 (09:19 +0800)]
; * doc/lispref/commands.texi (Touchscreen Events): Fix typo.
Po Lu [Mon, 26 Jun 2023 01:11:48 +0000 (09:11 +0800)]
Update Android port
* lisp/calc/calc.el (calc-mode, calc): Make sure the on-screen
keyboard is not hidden when a Calc buffer is created or a Calc
Trail window is being created for the first time.
* lisp/touch-screen.el (touch-screen-window-selection-changed):
Take touch-screen-display-keyboard in to account.
* src/sfnt.c (sfnt_decompose_compound_glyph)
(sfnt_interpret_compound_glyph_1): Reset `defer_offsets' before
processing each component.
(sfnt_lerp_half): Avoid undefined shift of negative value.
(sfnt_compute_tuple_scale): Pacify compiler warning.
Po Lu [Mon, 26 Jun 2023 00:16:23 +0000 (08:16 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android